iOS Auto Layout Demystified 学习笔记(三)

本文主要探究Interface Builder自动布局。

在IB中使用/禁用自动布局

在右侧面板中勾选Use Autolayout选项,不做赘述。
如果想在代码中退出Use Autolayout需要设置视图的属性translatesAutoresizingMaskIntoConstraints属性为YES

基本布局及自动生成的约束

当你在IB中放置好视图时,在不添加约束的情况下,Xcode自动帮助你免费添加一些根据视图的框架构建的约束,为界面元素提供最小的回退行为。

IB元素指南

具体元素在此不再赘述,需要开发者多多使用。

使用的小窍门

  1. 按下Ctrl键从一个视图拖拽到另一个视图,在弹出的选择列表时,在选择约束类型是按住Shift可以进行多选.
  2. Intrinsic Size中的选项Placeholder为设计中的视图提供一个占位空间,在程序运行时在具体计算视图的尺寸。
  3. IB中,同时按下Ctrl+Shift键并单击任意区域,会显示该位置所放置的所有视图的清单,在复杂的布局中可以快速选择所要操作的视图。
添加约束

预览布局

在IB中布局完成后,不需要每次都运行程序查看布局效果,在IB中提供了简单的方法,可以展示在不同设备上的布局效果包括横竖屏。具体步骤:

  • 首先需要关闭多余的视图,腾出更多的空间。
  • 选择IB左上角,如下图所示



  • 按住ShiftOption键,选择对应的IB视图,会出现如下视图



  • 选择右侧下方,双击或者回车,就会出现对应的预览视图



  • 最后就可以选择各种尺寸的屏幕,进行预览。

IB中还可以为视化编辑器添加一些视图覆盖物,用于测试,选中控件后再选择菜单中
Editor->Canvas,可以选择测试效果。

小窍门
在应项目的Edit Scheme中设置一个启动参数 UIViewShowAlignmentRects 并将参数值设置为YES,可以让程序在运行时显示视图的对齐矩阵(alignment rectangle)。-
UIViewShowAlignmentRects YES